Dynamically updating a home agent with location-based information

ABSTRACT

Methods and computer-readable media are provided to dynamically update a home agent with location-based information for a mobile device such that a third party, such as a law enforcement agency, may access the information to determine a location associated with the mobile device and, therefore, with the user of the mobile device. A signaling message is sent to a packet-routing component. The signaling message contains location-based information for a communications session. A transaction update is sent from the packet-routing component to the home agent each time the location-based information is updated, such as when the mobile device enters a new coverage area. A binding table is populated with the updated information. An acknowledgment is then sent from the home agent to the packet-routing component indicating that the information has been updated in the binding table. The third party is now able to access the location-based information via the home agent.

SUMMARY

Embodiments of the invention are defined by the claims below, not thissummary. A high-level overview of various aspects of the invention areprovided here for that reason to provide an overview of the disclosureand to introduce a selection of concepts that are further described inthe detailed-description section below. This summary is not intended toidentify key features or essential features of the claimed subjectmatter, nor is it intended to be used as an aid in isolation todetermine the scope of the claimed subject matter.

Embodiments of the present invention provide methods andcomputer-readable media for, among other things, updating a home agentof a wireless telecommunications network with information that allowsthe home agent to provide billing services, in addition to allowing athird party, such as a law enforcement agency, to determine anapproximate location of a mobile device, and therefore of a user of themobile device. While a packet data serving node (PDSN), for example, maytypically have location-based information associated with a mobiledevice, this information may not be communicated to the home agent, andtherefore while the PDSN may be able to perform billing services, thehome agent cannot unless it receives the location-based information. Foran existing communications session, a binding update may have alreadybeen sent to the home agent, which contains information such as acare-of address, a network access identifier, a home address, varioustimers, a session identifier, etc. None of these, however, allow a thirdparty to determine a location associated with the mobile device.Accordingly, a transaction update may be sent to the home agent eachtime the mobile device enters a different coverage area, which may be apacket control function, a PDSN, a base transceiver station, a radioaccess network, or the like. The updated location-based information maybe entered into an existing table with the information associated withthe binding update, such that the home agent has all of the informationnecessary for billing and providing third parties with location-basedinformation.

Accordingly, in one aspect, computer-readable media havingcomputer-useable instructions embodied thereon that, when executed,cause a computing device to perform a method of dynamically updating ahome agent with location-based information associated with a mobiledevice, thereby allowing a third party to determine a location of themobile device, are provided. The method includes receiving a signalingmessage from the mobile device that includes a first identifier and thelocation-based information such that an approximate location of themobile device can be determined by utilizing the location-basedinformation and referencing a database that associates the firstidentifier with a second identifier. Further, a request is received toestablish a new communications session with the mobile device. Therequest is then forwarded to the home agent. The media additionallyinclude communicating to the home agent the location-based information,thereby providing access of the location-based information to the thirdparty. The communicating includes communicating a transaction update tothe home agent that includes the location-based information and thesecond identifier, and based on the second identifier, the home agentpopulates a binding table with the location-based information. Further,the communicating includes receiving a first acknowledgement from thehome agent indicating that the table has been populated with thelocation-based information.

In another aspect, computer-readable media having computer-useableinstructions embodied thereon that, when executed, cause a computingdevice to perform a method of dynamically updating a home agent withlocation-based information associated with a mobile device, therebyallowing a third party to determine a location of the mobile device, areprovided. The method includes receiving from the mobile device asignaling message that includes the location-based information and afirst identifier indicating that the location-based information has beenupdated for an existing communications session. The location-basedinformation is updated when the mobile device enters a differentcoverage area. The media further include referencing a database thatassociates the first identifier with a second identifier andcommunicating a transaction update to the home agent that includes theupdated location-based information and the second identifier. Based onthe second identifier, the home agent updates a binding table with theupdated location-based information. Also, the binding table contains oneor more attributes associated with the mobile device. Further, themethod includes receiving a first acknowledgement from the home agentindicating that the binding table has been populated with the updatedlocation-based information.

In a further aspect, computer-readable media having computer-useableinstructions embodied thereon that, when executed, cause a computingdevice to perform a method of dynamically updating a home agent withlocation-based information associated with a mobile device, therebyallowing a third party to determine a location of the mobile device, areprovided. The method includes receiving from a packet-routing componenta transaction update that includes the location-based information and anidentifier that identifies a communications session associated with themobile device. The location-based information is used to determine anapproximate location of the mobile device, and includes one or more of apacket control function (PCF), a base transceiver station (BTS), or asession identifier. Further, the method includes associating theidentifier with a binding table that contains one or more attributescorresponding to the communications session, and updating the bindingtable with the location-based information, thereby providing access tothe third party of the location-based information that has been updatedin the binding table such that the third party can determine theapproximate location of the mobile device. Additionally, the methodincludes communicating an acknowledgment to the packet-routing componentthat the location-based information has been received.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Illustrative embodiments of the present invention are described indetail below with reference to the attached drawing figures, which areincorporated by reference herein and wherein:

FIG. 1 is a schematic view of an exemplary communications environmentsuitable for use in implementing embodiments of the present invention;

FIG. 2 depicts another schematic view of an exemplary communicationsenvironment suitable for use in implementing embodiments of the presentinvention;

FIG. 3 depicts an illustrative flow diagram of a method of dynamicallyupdating a home agent with location-based information for a newcommunications session, according to an embodiment of the presentinvention;

FIG. 4 depicts an illustrative flow diagram of a method of dynamicallyupdating a home agent with location-based information for an existingcommunications session, according to an embodiment of the presentinvention;

FIG. 5 is an exemplary flowchart depicting a method of dynamicallyupdating a home agent with location-based information associated with amobile device for a new communications session, according to anembodiment of the present invention;

FIG. 6 is an exemplary flowchart depicting a method of dynamicallyupdating a home agent with location-based information associated with amobile device for an existing communications session, according to anembodiment of the present invention; and

FIG. 7 is an exemplary flowchart depicting a method of dynamicallyupdating a home agent with location-based information associated with amobile device, according to an embodiment of the present invention.

DETAILED DESCRIPTION

The subject matter of the present invention is described withspecificity herein to meet statutory requirements. Although the terms“step” and/or “block” may be used herein to connote different componentsof methods employed, the terms should not be interpreted as implying anyparticular order among or between various steps herein disclosed unlessand except when the order of individual steps is explicitly described.

Throughout the description of the present invention, several acronymsand shorthand notations are used to aid the understanding of certainconcepts pertaining to the associated system and services. Theseacronyms and shorthand notations are solely intended for the purpose ofproviding an easy methodology of communicating the ideas expressedherein and are in no way meant to limit the scope of the presentinvention. The following is a list of these acronyms:

-   -   3G Third-Generation Wireless Technology    -   4G Fourth-Generation Cellular Communication System    -   AAA Authentication, Authorization, & Accounting    -   BSC Base Station Controller    -   BTS Base Station Transceiver Station    -   BU Binding Update    -   CoA Care-of-Address    -   CD-ROM Compact Disk Read Only Memory    -   CDMA Code Division Multiple Access    -   DSL Digital Subscriber Line    -   DVD Digital Versatile Discs    -   EEPROM Electrically Erasable Programmable Read Only Memory    -   FAX Facsimile    -   GSM Global System for Mobile Communications    -   HA Home Agent    -   HoA Home Address    -   IMSI International Mobile Subscriber Identity    -   IP Internet Protocol    -   IPv4 Internet Protocol Version 4    -   IPv6 Internet Protocol Version 6    -   LAN Local Area Network    -   MIPv4 Mobile Internet Protocol Version 4    -   MIPv6 Mobile Internet Protocol Version 6    -   NAI Network Access Identifier    -   PCF Packet Control Function    -   PDA Personal Digital Assistant    -   PDSN Packet Data Serving Node    -   RAM Random Access Memory    -   RAN Radio Access Network    -   ROM Read Only Memory    -   RTU RAN Transaction Update    -   TV Television    -   TDMA Time Division Multiple Access    -   WI-FI Wireless Interface of Mobile Computing Devices    -   WIMAX Worldwide Interoperability for Microwave Access

Further, various technical terms are used throughout this description.An illustrative resource that fleshes out various aspects of these termscan be found in Newton's Telecom Dictionary by H. Newton, 24th Edition(2008).

Embodiments of the present invention may be embodied as, among otherthings: a method, system, or set of instructions embodied on one or morecomputer-readable media. Computer-readable media include both volatileand nonvolatile media, removable and nonremovable media, and contemplatemedia readable by a database, a switch, and various other networkdevices. By way of example, and not limitation, computer-readable mediacomprise media implemented in any method or technology for storinginformation. Examples of stored information include computer-useableinstructions, data structures, program modules, and other datarepresentations. Media examples include, but are not limited toinformation-delivery media, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile discs (DVD), holographicmedia or other optical disc storage, magnetic cassettes, magnetic tape,magnetic disk storage, and other magnetic storage devices. Thesetechnologies can store data momentarily, temporarily, or permanently.

Referring to the drawings in general, and initially to FIG. 1 inparticular, an exemplary network environment suitable for use inimplementing embodiments of the present invention is illustrated anddesignated generally as reference numeral 100. Network environment 100is but one example of a suitable network environment and is not intendedto suggest any limitation as to the scope of use or functionality of theinvention. Neither should the network environment 100 be interpreted ashaving any dependency or requirement relating to any one or combinationof components illustrated. In the network environment 100, for a device102 to communicate with a host 116, the device 102 may communicate witha domain name server (DNS) 114 through a network, such as network 110,to obtain an Internet Protocol (IP) address of the host 116. The DNS 114translates host names, e.g., domain names, into host addresses, e.g., IPaddresses.

The device 102 communicates over established radio frequencies through acell tower 104 having a base transceiver station (BTS) 106, a number ofwhich are typically connected to a base station controller (BSC) 108.The BTS 106 may communicate over a wireless air interface with one ormore devices, such as device 102, located in the wireless coverage area.The communication between the BTS 106 and the device 102 may occur in adigital format, such as CDMA, TDMA, GSM, 3G, 4G, or 802.11x, or mayoccur in an analog format, such as AMPS. The BSC 108 manages thecommunication between a number of BTSs 106 and a limited number ofdevices 102 compatible with the network environment 100.

Host 116 refers to any computing device that has two-way access to othercomputer devices on a network, such as the Internet, LAN, any IP-basednetwork, or other public packet data network. Computing device 102 orthe computing device used as host 116 may include any device thatperforms one or more computing functions including, but not limited to,mobile phones, personal digital assistants (PDAs), televisions, laptops,desktop computers, facsimile machines (FAX), digital versatile disk(DVD) players, servers, e.g., a web server, or any other computingdevice.

The device 102 may communicate with one or more networks 110, such asthe Internet or an IP-based network, via a packet data serving node(PDSN) 112. PDSN 112 is a component of a CDMA2000 mobile network, butany network may be used. In the case of a GSMF or UMTS network, the GPRSGateway Support Node (GGSN) performs similar functions as PDSN 112. PDSN112 may act as the connection point between the Radio Access and IPnetworks, and may be responsible for managing point-to-point protocol(PPP) sessions between the IP network provided by the mobile providerand a mobile device. It may also connect BSC 108 to network 110, and mayact as a network access server, providing a device access to network110. In many instances, PDSN 112 may act as an access gateway providingsimple IP and mobile IP access, foreign agent support, and packettransport for virtual private networking. In addition, PDSN 112 may actas a client for Authentication, Authorization, and Accounting (AAA)servers and may provide mobile stations with a gateway to the IPnetwork. Alternatively or additionally, the network environment 100 mayinclude other network elements for providing device access to network110. The device 102 communicates with the host 116 via the network 110.

Any network environment 100 having a network suitable for communicatingbetween hosting devices, such as device 102 and host 116, may beutilized for implementing the present invention. Such a networkenvironment 100 may, for example, utilize wireless technology or wiredtechnology for network access. Wireless technology may include anywireless technology including, but not limited to 3G, 4G, WI-FI, WIMAX,and the like. Wired technology includes, for example, wireline, DSL, andthe like.

Turning now to FIG. 2, a schematic view of an exemplary communicationsenvironment suitable for use in implementing embodiments of the presentinvention is illustrated and designated generally as reference numeral200. Initially, one or more base transceiver stations (BTSs), such asBTS 210 and 214, and packet control functions (PCFs), such as PCF 212and PCF 216, may be associated with a particular packet-routingcomponent, such as PDSN 218. BTSs are generally described above herein,but are the towers that transmit signals to and from the mobile device.Further, the BTS handles the radio interface to the mobile station andis the radio equipment needed to service each mobile device in aparticular network. A BTS may include transceivers and antennas of atower. PCFs control the transmission of packets between the BTS and thePDSN and keep track of registration lifetime expiration and ensure thatthe sessions are renewed as necessary. While BTSs and PCFs are usedherein, it will be appreciated that other components compatible withother mobile networks, such as TDMA, GSM, 3G, 4G, or 802.11x, may alsobe used and perform the same or a similar function as the componentsdiscussed herein.

As described above and shown in FIG. 2, the PDSN 218 interfaces with thePCFs 212 and 216. Additionally, IP packets are routed through the PDSN218. In embodiments of the present invention, information, such aslocation-based information associated with a particular mobile device iscommunicated to the PDSN 218. This information may include, forinstance, the base station (BS), the PCF, and other parameters that maybe associated with the mobile device's location. This information istypically sent to the PDSN by way of an A11 message. Not only is thisinformation used to determine an approximate location of the mobiledevice, but it is also used for billing purposes, such as to determinewhether the mobile device is within or outside the service provider'scoverage area. The approximate location may be, for example, a range,such as a one mile range, a two mile range, a three mile range, etc.These are merely examples of ranges that may be included in theapproximate location of the mobile device.

Various embodiments, however, may require that a home agent (HA), suchas home agent 224, obtains this location-based information from the PDSN218, as well as other information that is contained within the PDSN 218.While, typically, the home agent 224 is unaware of the location of themobile device, the home agent 224 may need this information to performvarious services, such as to provide agencies, such as law enforcementagencies, with real-time or near real-time location information of aparticular mobile device, or the home agent 224 may even be responsiblefor billing the user, such as when IPv6 is used to establish acommunications session. In order to provide the location-basedinformation to the home agent 224, a transaction update may be sent fromthe PDSN 218 to the home agent 224. The transaction update, which isillustrated in FIG. 2 as an RTU 220 (RAN transaction update) iscommunicated to the home agent 224, and may take the form of a signalingmessage, such as an A11 signaling message, for instance. An A11signaling message carries information between the PCF and the PDSN forpacket data services and provides a signaling connection between a PCFand PDSN pair. A11 signaling messages are also used for passingaccounting-related and other information from the PCF to the PDSN. AnA10/A11 interface supports mobility between various PCFs under the samePDSN. Once the RTU 220 is received by the home agent 224, the home agent224 will send an RTU acknowledgment 222 back to the PDSN 218 to verifythat the RTU 220 has been received.

In one instance, the signaling message (e.g., A11 message) contains adifferent identifier than a binding update that is also sent to the homeagent 224. A binding update is sent to the home agent 224 either beforeor after the signaling message is sent, depending on whether there is anexisting communications session or whether it is a new communicationssession. The binding update may contain various attributes such as, forexample, a care of address (CoA), a network access identifier (NAI), ahome address (HoA), various times that indicate start and stop times, asession identifier, and the like. As different identifiers that identifythe user, the mobile device, or the communications session may be usedin these various messages, the PDSN may be responsible for linking oneidentifier to another. This may be done, for example, by accessing adatabase to locate one identifier and associate it with anotheridentifier. While the signaling message and the RTU 220 may contain muchof the same information, the identifier in each of these messages may bedifferent. For example, the signaling message (e.g., A11 message) maycontain a session identifier (session ID) or an international mobilesubscriber identity (IMSI), but the binding update that may have alreadybeen sent to the home agent 224 may contain a different identifier, suchas a network access identifier (NAI). Therefore, the PDSN may link thefirst identifier to a second identifier so that the binding tablecorresponding to the mobile device can be located.

In one embodiment, the RTU 220 is communicated to the home agent 224 foran existing call or an existing communications session. For an existingcall or session, a binding update is sent to the home agent 224 from thePDSN 218 prior to the RTU 220 being sent to the home agent 224. Asdescribed above, a binding update may contain various attributes suchas, for example, a care of address (CoA), a network access identifier(NAI), a home address (HoA), various times that indicate start and stoptimes, a session identifier, and the like. Here, a binding tablecontaining one or more attributes associated with the existing sessionis already in existence when the RTU 220 is received by the home agent224 such that the home agent 224 may then update the existing bindingtable. In another embodiment, however, the RTU 220 is communicated tothe home agent 224 for a new call or a new communications session. Inthis embodiment, the RTU 220 is communicated to the home agent 224 priorto a binding update. In this case, when the home agent 224 receives theRTU 220, it holds the information contained in the RTU 220, waits forthe binding update to be sent, and then establishes a new binding tablecontaining all of the information.

In both embodiments, once the home agent 224 has the informationcontained in the RTU 220 and the home agent 224 has included thatinformation into the binding table, records may be sent to theAuthentication, Authorization, and Accounting server or database, suchas AAA 226, such that billing records may be kept for the mobile device.The AAA 226 may then send a user data record (UDR) to a billing system228 so that the user of the mobile device can actually receive and paythe bills associated with the mobile device. Prior to billing, thebilling system 228 may parse the UDRs that it receives, such as parsingthe starts, stops, bytes, bits, etc. As previously mentioned, agencies,such as police departments, the Federal Bureau of Investigation (FBI),etc., may have the need to access information that indicates a user'slocation. The location of the user's mobile device may be used todetermine at least an approximate location of the user. As such, anagency 230 may be linked to both the home agent 224 and the AAA 226. Thehome agent 224 provides the agency 230 with actual data, while the AAA226 provides the agency with records.

FIG. 3 depicts an illustrative flow diagram of a method 300 ofdynamically updating a home agent with location-based information for anew communications session, according to an embodiment of the presentinvention. Initially, a device 310 communicates with a packet-routingcomponent 312 (e.g., PDSN) via various components, such as a BTS and aPCF, as described in FIG. 2 above. While not illustrated in FIG. 3, itis contemplated to be within the scope of the present invention thatvarious other components, such as a BTS and PCF, as well as many others,may be used to carry out the process described in FIG. 3. In theinstance of a new communications session, the device 310 may communicate316 a signaling message, such as an A11 request 318, to thepacket-routing component 312. As stated above, this A11 request mayinclude various attributes, such as, but not limited to, the PCF and theBTS that are currently in the mobile device's coverage area, in additionone or more identifiers, such as a session ID, an NAI, or an IMSI.

At step 320, the packet-routing component 312 creates a binding for theA11 request (e.g., leaves a marker). More specifically, the A11 requestis validated, and both the packet-routing component 312 and the PCFcreate a binding record for the A10 connection. The packet-routingcomponent 312 then communicates 322 an acknowledgment or a response,such as an A11 response 324, back to the device 310 so that the device310 knows that the A11 request has been received. In order to establisha new communications session using mobile IP, the device 310communicates 326 a mobile IP (MIP) request 328 to the packet-routingcomponent 312. The MIP request 328 is the binding update that has beendescribed herein. The binding update includes various attributes suchas, for instance, a care of address (CoA), a network access identifier(NAI), a home address (HoA), various times that indicate start and stoptimes associated with the communications session, a session identifier,and the like. At step 330, the packet-routing component 312 links orassociates a first identifier contained in the A11 request 318 with asecond identifier contained in the MIP request 328. In one embodiment,the two identifiers are the same, and therefore linking is not required.

If the two identifiers are different, however, the packet-routingcomponent 312 links the two identifiers together by, for example,inspecting a database containing various identifiers for a particularuser or mobile device to determine the second identifier from the firstidentifier. Thus, when the MIP request 334 is forwarded or communicated332 to the home agent 314, it will contain an identifier that the homeagent 314 is familiar with. Now, the home agent 314 is able to determinethe binding table that corresponds to the mobile device. The home agent314 may now communicate 336 an MIP response 338 back to thepacket-routing component 312 acknowledging that the request wasreceived. This MIP response 342 is then forwarded or communicated 340back to the device 310.

At this point, the packet-routing component 312 has received the A11request 318, and has sent the MIP request (e.g., binding update) to thehome agent 314. The home agent 314 now needs to have the informationcontained in the A11 request so that it can populate the binding tablewith this information such that agencies and the like are able to havereal-time or close to real-time location information about the device310. A RAN transaction update (RTU) request 346 is communicated 344 tothe home agent 314 so that the home agent 314 can populate or update thebinding table. This is represented by step 348. The home agent 314 thencommunicates 350 an RTU response 352 back to the packet-routingcomponent acknowledging receipt of the RTU request 346.

Turning now to FIG. 4, an illustrative flow diagram is shown of a method400 of dynamically updating a home agent with location-based informationfor an existing communications session, according to an embodiment ofthe present invention. FIG. 4 is similar to FIG. 3 in that it containsmany of the same steps described above with respect to FIG. 3. Forinstance, an A11 request 418 is communicated 416 from a device 410 to apacket-routing component 412 such that the packet-routing component 412may create a binding, shown at step 420, for the A11 request (e.g.,leaves a marker). More specifically, the A11 request is validated, andboth the packet-routing component 312 and the PCF create a bindingrecord for the A10 connection. Here, the packet-routing component 412may also link or associate a first identifier with a second identifierbecause as in many embodiments, the A11 request 418 may contain adifferent type of identifier than the MIP request (e.g., bindingupdate), and therefore the two identifiers must be correlated so thatthe information can be matched up and the updated information can beadded to the binding table. The packet-routing component 412 thencommunicates 422 an acknowledgment in the form of an A11 response 424back to the device 410.

An RTU request 428 is then communicated 426 to the home agent 414 sothat the home agent 414 may update the binding table with the updatedinformation contained in the RTU request 428. It should be noted thatthe A11 request 418 and the RTU request 428 may contain substantiallythe same information, with the exception of the type of identifier. Oncethe table has been populated or updated at step 430, an RTU response 434is communicated 432 to the packet-routing component 412 indicating anacknowledgment of the RTU request 428.

FIG. 5 is an exemplary flowchart depicting a method 500 of dynamicallyupdating a home agent with location-based information associated with amobile device for a new communications session, according to anembodiment of the present invention. Initially, at step 510, a signalingmessage is received by a packet-routing component (e.g., PDSN) from themobile device. The signaling message, in one embodiment is an A11request or message that carries information between the PCF and the PDSNfor packet data services and provides a signaling connection between aPCF and PDSN pair. The signaling message may include location-basedinformation, such as a PCF, a BTS, or a session identifier and a firstidentifier, which, in one embodiment, is a session ID or an IMSI. Othertypes of identifiers are contemplated to be within the scope of thepresent invention. Using the location-based information, an approximatelocation of the mobile device can be determined. In one embodiment, thepacket-routing component sends an acknowledgment, such as an A11response, back to the mobile device to indicate that the signalingmessage (e.g., A11 request) has been received.

At step 520, a database is referenced that associates the firstidentifier with a second identifier. In one embodiment, the secondidentifier is an NAI. In other embodiments, however, the secondidentifier may be any other type of identifier that identifies thecommunications session, the mobile device, or the user. In a furtherembodiment, the first and the second identifiers are the same; it maynot be required to reference a database to determine the secondidentifier. One reason that a first and second identifier may bedifferent is that one set of components may refer to a communicationssession, a user, or a mobile device by one identifier, but a second setof components may refer to these by a different identifier. In oneinstance, the PCF and PDSN use an IMSI as the identifier, but the homeagent uses an NAI. In instances such as these, a database is likely tobe referenced so that the home agent has the appropriate identifier whenlocating the binding table associated with the communications session.

A request is received to establish a new communications sessions withthe mobile device at step 530. Once received by the packet-routingcomponent, the request is forwarded to the home agent. This request, inone embodiment, may be in the form of a mobile IP request, such as abinding update. The binding update may contain various attributes orparameters, such as, for example, a care-of-address (COA), an NAI, ahome address (HoA), various timers that indicate start and stop timesfor the communications session, and an identifier, such as a sessionidentifier. In one embodiment, the home agent sends back to thepacket-routing component an MIP response that acknowledges receipt ofthe MIP request, and this response may further be forwarded to themobile device. As previously mentioned, the request may be for a mobileIP session. In one instance, the request is compliant with IPv4, or isfor an IPv4 session, but in another instance, it is compliant with IPv6,or is for an IPv6 session.

At step 540, the location-based information is forwarded to the homeagent. In one embodiment, the location-based information is forwarded tothe home agent in the form of a RAN transaction update (RTU) request.Once the home agent receives this information, a third party may be ableto access the information to determine the location of the mobile devicein a timely manner. Location-based information may be updated and sentto the home agent each time the mobile device changes coverage areas,and therefore, the information may be updated in real-time or nearreal-time. The RTU request may also include the second identifier sothat the home agent can locate or create a binding table and populatethe table with the location-based information. The home agent may thensend an acknowledgment in the form of an RTU response to thepacket-routing component indicating that the RTU request with thelocation-based information was received.

Once the location-based information is received by the home agent, thehome agent may forward this information in the form of a record to AAAdatabase or server, such that billing records may be kept for the mobiledevice. The AAA may then send a user data record (UDR) to a billingsystem so that the user of the mobile device can actually receive andpay the bills associated with the mobile device. Prior to billing, thebilling system may parse the UDRs that it receives, such as parsing thestarts, stops, bytes, bits, etc. As previously mentioned, an agency,such as police departments, the Federal Bureau of Investigation (FBI),etc., may have the need to access information that indicates a user'slocation and may send an agency request to the home agent or AAA toaccess this information. The location of the user's mobile device may beused to determine at least an approximate location of the user. As such,an agency may be linked to both the home agent and the AAA. The homeagent provides the agency with actual data, while the AAA provides theagency with records.

Referring to FIG. 6, an exemplary flowchart is illustrated depicting amethod 600 of dynamically updating a home agent with location-basedinformation associated with a mobile device for an existingcommunications session, according to an embodiment of the presentinvention. The embodiment of FIG. 6 is different from that of FIG. 5 inthat it applies to an existing communications session, such that thetransaction update sent to the home agent may contain updatedlocation-based information. At step 610, a signaling message, such as anA11 request, is received by the packet-routing component (e.g., PDSN).The signaling message may include location-based information associatedwith the mobile device, in addition to a first identifier thatidentifies one or more of the communications session, the user, or themobile device. The location-based information may include, but is notlimited to, a PCF, a BTS, a session identifier, or the like. Thissignaling message indicates that the location-based information has beenupdated for an existing communications session, which may occur when themobile device enters a different coverage area, such as a PDSN, BSC,PCF, or RAN coverage area. Upon receiving the signaling message, thepacket-routing component may communicate to the mobile device anacknowledgment indicating that the signaling message has been received.

At step 620, a database is referenced that associates the firstidentifier with a second identifier. As described above, variouscomponents may identify the communications session, the mobile device,or the user using a different identifier, such as a session identifier,an NAI, or an IMSI. If, for instance, the packet-routing component(e.g., PDSN) and the home agent use different identifiers, thepacket-routing component has the capability of accessing a database thatassociates the different identifiers, thus sending a recognizableidentifier to the home agent. For example, the first identifier may be asession identifier or an IMSI, while the second identifier is an NAI. Inone embodiment, however, the first identifier and the second identifiermay be the same.

A transaction update is communicated to the home agent at step 630. Thetransaction update (e.g., RTU) may include the updated location-basedinformation and a second identifier. As mentioned, the embodiment ofFIG. 6 may apply to an existing communications session, and thereforethe home agent may already have been sent location-based information.Once the mobile device moves to a different coverage area, however,updated location-based information may be available. Based on the secondidentifier, the home agent updates a binding table with the updatedlocation-based information that it has received. The binding tablecontains one or more attributes or parameters associated with the mobiledevice, some of which may be communicated to the home agent via thetransaction update, and some via an MIP request, such as a bindingupdate, which is illustrated in FIG. 3, and discussed above in relationto FIG. 5. These attributes may include, without limitation, a PCF, aBTS, a session identifier, a CoA, an NAI, an HoA, timers, or the like.An exhaustive list of attributes is not included, but many others notspecifically mentioned herein are contemplated to be within the scope ofthe present invention.

The home agent is able to locate the binding table for the particularcommunications session using the second identifier which it is sent bythe packet-routing component. If the communications session is existingand is not new, a binding table may already be populated for thatparticular communications session, and therefore each time updatedlocation-based information is sent, the table is updated. At step 640,an acknowledgment is received from the home agent indicating that thebinding table has been populated with the updated location-basedinformation.

FIG. 7 is an exemplary flowchart depicting a method 700 of dynamicallyupdating a home agent with location-based information associated with amobile device, according to an embodiment of the present invention.Initially, a transaction update is received by the home agent from apacket-routing component at step 710. The transaction update may includelocation-based information and an identifier that identifies acommunications session associated with the mobile device. Thelocation-based information may include, without limitation, a PCF, aBTS, a session identifier, or the like. Other information that providesan indication of the location of a mobile device may also be included inthe location-based information and is contemplated to be within thescope of the present invention.

The identifier that is communicated to the home agent is associated witha binding table at step 720. The binding table contains one or moreattributes corresponding to the communications session. These attributesmay include, without limitation, a PCF, a BTS, a session identifier, aCoA, an NAI, an HoA, timers, or the like. Many other attributes may beincluded in the binding table and are all contemplated to be within thescope of the present invention. Some of the attributes are sent to thehome agent via the transaction update and discussed above. Others aresent to the home agent via a MIP request, such as a binding update. Thebinding update is received from the packet-routing component, and mayinclude, for example, a session identifier, a CoA, an NAI, an HoA, andone or more timers that indicate start and stop times of thecommunications session, which may be used by the home agent when thehome agent is used for billing purposes. While the home agent may beused to obtain a billing feed, such as in the case of an IPv6communications session, for example, the home agent typically does notcontain certain key data fields in the binding table, such as the PCFand the BTS. Therefore, the location-based information can be sent tothe home agent, as described herein, such as when the mobile devicemoves across an RAN, so that home-agent-based billing can be a viablealternative to PDSN-based billing.

Once the binding table has been located, it is updated at step 730 withthe location-based information, thereby providing access to the thirdparty of the location-based information that has been updated in thebinding table such that the third party can determine the approximatelocation of the mobile device. For example, a third party may submit arequest to the home agent to access the location-based information suchthat the location of the mobile device can be determined. Anacknowledgment is communicated to the packet-routing component at step740 indicating that the location-based information has been received.

In one embodiment, once the home agent has been sent the updatedlocation-based information and this information has been populated inthe binding table, the home agent may send the information, in the formof a record, to an AAA server, which may then send the information inthe form of a user data record to the billing system. An agency, such asa law enforcement agency, may be able to access the location-basedinformation through the home agent or the AAA server. The home agentprovides the actual data, while the AAA provides records. The link ofthe agency to the home agent and AAA server is illustrated in FIG. 2.

Many different arrangements of the various components depicted, as wellas components not shown, are possible without departing from the scopeof the claims below. Embodiments of our technology have been describedwith the intent to be illustrative rather than restrictive. Alternativeembodiments will become apparent to readers of this disclosure after andbecause of reading it. Alternative means of implementing theaforementioned can be completed without departing from the scope of theclaims below. Certain features and subcombinations are of utility andmay be employed without reference to other features and subcombinationsand are contemplated within the scope of the claims.

The invention claimed is:
 1. Non-transitory computer-readable mediahaving computer-useable instructions embodied thereon that, whenexecuted, cause a computing device to perform a method of dynamicallyupdating a home agent with location-based information associated with amobile device, thereby allowing a third party to determine a location ofthe mobile device, the method comprising: receiving from the mobiledevice a signaling message that includes the location-based informationand a first identifier indicating that the location-based informationhas been updated for an existing communications session, wherein thelocation-based information is updated when the mobile device enters adifferent coverage area; referencing a database that associates thefirst identifier with a second identifier; communicating a transactionupdate to the home agent that includes the updated location-basedinformation and the second identifier, (1) wherein, based on the secondidentifier, the home agent updates a binding table with the updatedlocation-based information, and (2) wherein the binding table containsone or more attributes associated with the mobile device; and receivinga first acknowledgement from the home agent indicating that the bindingtable has been populated with the updated location-based information. 2.The media of claim 1, wherein the first identifier and the secondidentifier are the same.
 3. The media of claim 1, wherein the firstidentifier is one or more of a session identifier or an internationalmobile subscriber identity (IMSI).
 4. The media of claim 1, wherein thelocation-based information has been updated if the mobile device hasmoved into a different packet control function (PCF) coverage area. 5.The media of claim 1, wherein the location-based information has beenupdated if the mobile device has moved into a different radio accessnetwork (RAN) coverage area.
 6. The media of claim 1, wherein thelocation-based information includes one or more of a packet controlfunction (PCF), a base transceiver station (BTS), or a sessionidentifier.
 7. The media of claim 1, wherein the coverage area includesan area defined by one or more of a packet data serving node (PDSN), abase station controller (BSC), a packet control function (PCF), or aradio access network (RAN).
 8. The media of claim 1, further comprisingupon receiving the signaling message, communicating to the mobile devicea second acknowledgment indicating that the signaling message has beenreceived.
 9. The media of claim 1, wherein the one or more attributesinclude one or more of a packet control function (PCF), a basetransceiver station (BTS), a session identifier, a care-of-address(CoA), a network access identifier (NAI), a home address (HoA), or atleast one timer.
 10. Non-transitory computer-readable media havingcomputer-useable instructions embodied thereon that, when executed,cause a computing device to perform a method of dynamically updating ahome agent with location-based information associated with a mobiledevice, thereby allowing a third party to determine a location of themobile device, the method comprising: receiving from a packet-routingcomponent a transaction update that includes the location-basedinformation and an identifier that identifies a communications sessionassociated with the mobile device, (1) wherein the location-basedinformation is used to determine an approximate location of the mobiledevice, and (2) wherein the location-based information includes one ormore of a packet control function (PCF), a base transceiver station(BTS), or a session identifier; associating the identifier with abinding table that contains one or more attributes corresponding to thecommunications session; updating the binding table with thelocation-based information, thereby providing access to the third partyof the location-based information that has been updated in the bindingtable such that the third party can determine the approximate locationof the mobile device; and communicating an acknowledgment to thepacket-routing component that the location-based information has beenreceived.
 11. The method of claim 10, further comprising receiving arequest from the third party to access the location-based information.12. The method of claim 10, further comprising receiving from thepacket-routing component a binding update, wherein the binding updateincludes one or more of a session identifier, a care-of-address (CoA), anetwork access identifier (NAI), a home address (HoA), or at least onetimer.